package com.kent.hellokotlin.cClassAndObject;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class hGenerics {
    class Foo {

    }
    private void foo() {
//        List<String> strs = new ArrayList<>();
//        List<Object> objs = strs;
//        objs.add(1);
//        String s = strs.get(0);
    }

    // Java
    void copyAll(Collection<Object> to, Collection<String> from) {
        to.addAll(from);
        // ！！！对于这种简单声明的 addAll 将不能编译：
        // Collection<String> 不是 Collection<Object> 的子类型


        List<? extends Foo> foos=new ArrayList<>();

    }


    interface Source<T> {
        T next();
    }

}
